Micron Document
____ _ _ _ _
| _ \ ___ | |_ (_) _ __ ___ __| | (_) __ _
| |_) | / _ \ | __| | | | '_ \ / _ \ / _| | | | / _ |
| _ < | __/ | |_ | | | |_) | | __/ | (_| | | | | (_| |
|_| \_\ \___| \__| |_| | .__/ \___| \__,_| |_| \__,_|
|_|


The NomadNet German Wikipedia | Archives | Info
- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b- `b

πŸ” Search

Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―Β―

DebugWIRE
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
top
debugWIRE ist ein serielles Kommunikationsprotokoll, das vom Prozessorhersteller Atmel entwickelt wurde. Es wird fΓΌr die Programmierung und Fehlersuche bei Atmel AVR Microcontrollern eingesetzt.

Contents

β€’ Protokoll
β€’ Weblinks

──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────

Protokoll

Das proprietΓ€re debugWIRE-Protokoll ist als einfache Alternative zu JTAG gedacht und wird bei Prozessoren mit begrenzten Ressourcen – speziell wenigen Anschlusspins – eingesetzt; die meisten modernen 8-bit-Prozessoren von AVR unterstΓΌtzen das Protokoll. debugWIRE erlaubt vollen Lese- und Schreibzugriff auf den Speicher und die Überwachung des Programmflusses. Dabei kΓΆnnen nur die Aktionen durchgefΓΌhrt werden, die auch bei normalem Programmablauf mΓΆglich sind. Breakpoints werden durch EinfΓΌgen eines Break-Opcodes (0x9598)cite-ref-1[1] gesetzt, dies erfolgt durch jeweilige Neuprogrammierung des Flash-Speichers, der jedoch nur eine begrenzte Zahl von Schreibzyklen zulΓ€sst (garantiert 10000)cite-ref-2[2].

ProgrammiergerΓ€te

debugWIRE wird von allen aktuellen Atmel-Debuggern unterstΓΌtzt, wie z. B. Atmel-ICE, JTAGICE mkII, JTAGICE3 und AVR Dragon.cite-ref-3[3]

Protokoll-Spezifikation

debugWIRE kann durch Programmieren des Fuse-Bits DWEN (debugWIRE enable) aktiviert werden, das sich im β€žHigh-Fuse-Byteβ€œ befindet. Danach ist die /RESET-Funktion nicht mehr verfΓΌgbar und die Programmierung ΓΌber ISP ist nicht mehr mΓΆglich. Die Programmierung der Fuse-Bits kann nicht ΓΌber debugWIRE erfolgen, dazu muss die debugWIRE-Funktion durch ein Kommando temporΓ€r abgeschaltet werden, um mit dem Debugger erneut per ISP zugreifen zu kΓΆnnen. Dies erfolgt bei Verwendung des Entwicklungssystems Atmel-Studio transparent fΓΌr den Anwender.cite-ref-4[4] debugWIRE benutzt serielle Kommunikation ΓΌber eine Ein-Draht-Leitung mit Open-Drain-Ankopplung. Die Standard-Taktrate ist 1/128 des Prozessortaktes. Eingeleitet wird die Kommunikation durch Senden des Break-Zustandes (alle Bits 0), als Antwort sendet der zu testende Prozessor das Byte 0x55, das aus abwechselnd Null- und Eins-Pegeln besteht. Dies erlaubt dem Debugger eine einfache Identifizierung der Taktrate.cite-ref-5[5]cite-ref-6[6]

Einzelnachweise

cite-note-11. ↑ AVR Assembler Instructions
cite-note-22. ↑ ATtiny25-ATtiny45-ATtiny85_Datasheet-Summary.pdf
cite-note-33. ↑ debugWIRE-Interface des AVR Dragon
cite-note-44. ↑ debugWIRE-Artikel
cite-note-55. ↑ The debugWIRE protocol (Englisch)
cite-note-66. ↑ Simple stand-alone debugWIRE debugger (open source)

Weblinks

β€’ Advanced Debugging (Vortrag auf Englisch)